{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "cf9a11e5",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "3410558f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最近 2 年上涨月数/总月数：7/25 | 概率：28.00%\n",
      "最近 3 年上涨月数/总月数：15/37 | 概率：40.54%\n",
      "最近 5 年上涨月数/总月数：28/61 | 概率：45.90%\n",
      "最近 8 年上涨月数/总月数：46/97 | 概率：47.42%\n",
      "最近 10 年上涨月数/总月数：51/107 | 概率：47.66%\n",
      "最近 13 年上涨月数/总月数：51/107 | 概率：47.66%\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAACds0lEQVR4nOzdd3wU1f7/8fdsS4EECC2WID0gLSAqigURsaFeBL0oKPgTFHvFawHLtYBeG1cBr3gVsfdr9yKCjYv6FQRCAkgxFBECJCSB1N2Z3x9hJ7ubXbJR2BRfTx95SD57Zvd8ZmbPzH5yZtawLMsSAAAAAAAAEEOOuu4AAAAAAAAA/nwoSgEAAAAAACDmKEoBAAAAAAAg5ihKAQAAAAAAIOYoSgEAAAAAACDmKEoBAAAAAAAg5ihKAQAAAAAAIOYoSgEAAAAAACDmXHXdAQAAEL0nn3xSO3fu1AMPPFDtsb/97W9yOp166KGHdM899+iwww7TFVdcUa3djh07VFBQENXrxcfH6/DDD69VH7dv366EhAS53W4ZhlFje8uyVFxcrObNm8vpdMqyLJWVldXqNSXJ7XbL6XTav5eWlqq0tDTq5RMTE+XxeOzfKyoqlJWVpS5duqhJkyaSpBUrVig1NVVt2rSpVd/+85//6Mcff9Rdd92lhISEWi17MPzf//2f9u7dq0GDBtXY9osvvpDb7dZJJ52kiooK+Xw+xcXF2dt206ZNmjt3rm6//Xa5XLU7tXzxxRc1f/58zZw5U0lJSfttW1paqvj4eG3dulWvvvqqrr/+enm9XiUkJMgwDC1btkxJSUnq1KlTrfoQzvjx4+V0OvWvf/0rqvZFRUX697//rXPPPVcdO3b8w68PAMCfBUUpAAAakI0bN+rXX3+VJBUUFKi4uFhxcXFyOBzatGmTXC6Xdu/erW7duikrK0s7duxQYmKiXVSRpMmTJ+vZZ5+N6vWOOeYYff/991H3z+v1KjU1tXZJ7bN27Vp17txZa9euVXp6eq2Xf+211zRq1Cj793vvvVcPP/xw1MvPmjVLEydOtH/Pzc1V37599cMPP+joo4+WJJ100km65557dNNNN+m9996rtm4SExN19913B8VKS0t12223KSUlRZdffnnEQp1pmiorK1Pnzp3ldruDHhs9erTeeOONGnN49dVXdeGFF9bY7oknntD69euj2rbz5s3TY489pnvvvVdt2rTRlVdeaT/21FNP6aijjtKUKVN0++23S5LuuOMOtWrVSrfccovd7l//+pf69OmjAQMGBD33+++/r4KCghoLUnv37lWfPn00e/ZsJSYmatKkSbr22mv10EMPacuWLZozZ46eeOIJrVq1Sj/88EONOdWkqKhIFRUV1eJXXXWVlixZUu01CgsLddNNN6lbt24UpQAAqAWKUgAANCBxcXH2bJ6pU6eGLbq8/PLL9r8ffPBBzZ49W+PHj7djLpdLJ598sr788ks7du+99+rbb7/V/Pnzg2KBv0fD5XJp06ZN8ng88ng8QQWYOXPmaPLkyVq2bJlatWplxy3LUmlpqVq3bm3nKFUWmUKLGOGUlZWpW7duatasWVA8Li5OgwYN0sKFC+3YwoULtWDBAt1///1Bbdu3bx9UCKqoqJDD4QjqjyR5PB7Fx8eroqJCX3zxhT755BN7NtrixYv1f//3f9WKUjfffLPWr19vF7kiMU1TpaWlWrt2rY444oigx1wul8aMGaM5c+ZEXN7lctVY3PGLi4sLymt/Hn74YbVr104vv/yyPvnkE5133nnyeDw66qij7PXhcDjkcrnk8/k0d+5c3XvvvfbylmXp7bff1gMPPKCffvrJ3vb5+fn69NNP9d5779XYhyZNmujuu+/WFVdcoVdeeUWSVF5ermeffVYffPCBJOnHH3/U2LFjIz7Hv/71L+3evTtoNp1UOSuqefPmQbGEhAT5fL5qzxEfH6/4+Phqcf++E+06BQAAlShKAQDQQN133326++67FRcXJ6fTqXHjxsnlcum5556TVFkM8Hq91ZarzSVWtb0cS5LS0tKqxXbv3q2pU6fq5ptvVufOnfe7vL9okJqaqkMOOUQul6taIUGqLOJUVFTIsixJqja7yO1224WldevWyePxaNmyZXrvvfd09dVXq6KiQsnJyXZBIvDSvX/961+67rrrJEl9+vQJet6rr75aa9askcvlUrt27ewZQk8//bR++umnoLZPPfWUZs2apRdeeEHjxo3bb97743Q6ZZpmje2iLYo4nU573UTjmmuu0ZVXXhm0PzgcDvsSTX/x8dNPP1VJSYnGjBljtzMMQ6+//royMjI0ZswYffrppzIMQ3PnzlVpaanOPPPMsK85depUe91+99132r17ty655BJ9+OGHkiqLr0OHDtV3332n5s2bKzs7W8cdd5x2794tqXL/cDgc9vbdtGmTtm7dau9Lubm5+uSTTzRhwgSVl5cHbX8/r9eriooK+5LLSOvNv2zgPlheXq4bb7xRt99+u9q1a1fzSgYA4E+IohQAAA2UaZpBl+X5/fvf/7b//cYbb1S7nMvlcumrr74KexlZaGzw4MEHpK/XXHONcnNzde6559ZquSuvvFIvvvhixMdPPvlkffbZZ2Efc7lcdgGhS5cuQY8deuihkqR//OMfuvXWWyUF5z5x4kSNGjVKrVu31v/93/+pf//+kioLZX//+9912WWX2QWTQIEFi0ceeUS333677r//fi1fvrzG+2uNGjVKr732WtjHHA5HVEWp2hSaopWbm6s2bdrI5XLJNE0VFhZKqioKBnr66ac1fvz4avfNatmypV566SUNHjxYM2bM0BVXXKHHH39cd955pyZMmBDU9vvvv9eoUaP0l7/8xY6tW7dOn3zyibxer7744gtJ0oIFC2Sapj7//HMVFxdLqry8MtDll19uF2kffPDBoMdeeeUVrV27Vvfcc4+mT58eNne3260+ffpo2bJlUaypKllZWbr00kv1008/6fDDD9edd95Zq+UBAPizoCgFAEAD8NZbb+myyy6Tz+eTaZp699137WLNN998oxNOOKHaTKn27dsrMTGx2nN5vV4dffTRmjt3rh17+umntXTpUj3//PNBsZUrV/7hvj/77LN688037d8XLlyoGTNm6KWXXqrxpt/33nuvJk2aFHGmVOjsqECGYQTNivF4PHrjjTf0r3/9S998840qKioizgRzuVz2Y+PHj1fTpk0lVV5yFjhD6KefftIJJ5wgSfrtt9+CnqNLly6aNm2abrvtNv2///f/dM899+jGG2/U5MmT1aFDB11++eV229tvvz1sjoFefPHF/Rboauu3336z9xVJ9g3mHQ6Hrr76aknSsmXLdNxxx+nWW2/VlClTtHr16qCZY+Xl5fa/f/rpJy1YsECzZ88O+3qDBg3SjBkzNGLECD399NMqLi7W3/72NxUXF2vhwoUaPHiw2rZtq9mzZ6tTp07q1q2bveyYMWN0/vnna8SIEerZs6dWrlypE088UV27dtWZZ56pU089VWPGjNFLL70kSTr99NN18skn2wVHSfrhhx/0ww8/6Nprr7VzO+aYY3T77bfrlltuUdOmTe3C4dVXX629e/fq3//+d7XL+IqLi7V69WpZlqXy8nJ5vV775urbtm3TDTfcoFmzZum0007TTz/9VG2mHQAAqEJRCgCABqB///6aNWuW3nnnHeXl5emKK66wb7594oknBrUNnCkVruji9XqVmJgY9KG/VatWYWPhLv+rjY8++kjXXXedHnvsMd1www2SKmcpffvttzr99NP10UcfKTk5OeLy7du3r/E1In3Dns/nk8vl0tq1a7Vnzx65XC7t2rVLZWVl2rhxo0zTVHl5eY3fLvjcc8/ZM6UC+2NZlvr27Wvfm+vpp5/Wo48+aj8+fPhw+98FBQVKTU1V8+bN1bt3b1111VUyTVOTJk2SVLlN/PfUimTs2LE13lOqNtavXx9UtPEXpZo1a2YXpXr27Kkbb7xRDz74oFwul8477zxJlTce9xc8/bOIunTpojfffDPs5Zt+V111lQoLC/WPf/xDDz74oJKTk7VhwwZdfPHF+vLLL9W2bVt99NFH9uv4/d///Z8uv/xypaWl6V//+pcGDhyo7t2764ILLtCsWbP05Zdf6uyzz7bb//bbb2rbtm3QJXmbN2/WTTfdpFatWmnUqFGaN2+err32WqWmpuq7774Lun+Zx+NReXl50L3P/JYuXaoBAwbY68vpdNpfPjBq1CidddZZ+uabb3TsscdGtR0AAPgzoygFAEAD0KFDB3Xo0EFZWVnasmVL0D179jdTKpyKioqoL9/7Ix+sX3vtNY0bN07333+/LrzwQrsolZ6ervnz52vQoEE69dRTNW/ePLVo0SLi89x///3Vbh4uVc4umjp1asTlCgsLlZCQoL/97W/67LPP7NlNknTcccfJ5/OpvLxcM2fO3G8e/uJfqJoup/Nf2uZ2u7Vjxw773kZXXHGFysrKgr7Bbe/evWrWrJnKyspkmma1GWT+4seBdMIJJwTd7D4cl8ulqVOn6rjjjtPRRx+tzZs3yzAMu38vvfSS3n77bZmmqRtvvFFSZSFSqpwZFbifSpUzidq0aaMVK1aoZcuWkmQXPg877DBJlfePCr0s8LPPPtO5556r++67Ty+//LIuueQSnXzyyXr99df1yiuvqHXr1kH38/rtt9/UoUOHoOcYMWKEnn32WY0bN05lZWVasWKFTj/9dOXn52vw4MF65ZVXggqJtVlv/vtYvfPOO9UKagAAIDKKUgAANFD+G3zvb6ZUuK+1f/DBB3XbbbdVixcXF1e73C/cN43VxOfzacqUKXr44Yc1bdo0TZo0Sdu2bQtq07NnT3322WcaPHiwTjvtNM2fP7/aN6D5xcXFqX///vr888/t2MiRI6t9216oXbt2KSkpSc8//7yKiorCfpta06ZN5XK5qn0bX6DAe0oFFvq8Xq82bdqkadOmSar89r1A06dPt2dCSZXFw4suuiioTeA3Jb7++uuaNGmSTj/99Gr3ydq9e7eSkpLs4kes+e8Ftnz5ciUkJKigoEBSZdHKf3P1uLg4zZw5UxdeeKGaNm0adpbdhAkT1LJly6AZXzk5OZKkX3/9VZ07d1ZCQkK1otzYsWNVWlqqdevW6YorrtC0adO0Y8cO9erVS82bN9fs2bM1cuRIbdiwQcnJydq5c6d69OhR7fUvu+wyrV+/XuPGjdOxxx5r34D8yiuv1OTJk/WXv/ylxnt/7Y+/0AYAAKJz4O+GCQAAYsJ/P59vvvlGlmVp1KhRuuSSS2RZljZv3qw77rhDXbt2rbbMXXfdpfLycjVv3lylpaXq3Lmz/ve//2n48OFKTU1V586d1blzZ+Xk5Ng3lY5Wdna2jj32WP3zn/+0iyyR9O/fX++9954yMzP3+810/ntDNW/e3P6J9I18gX755Rf7huannnqqWrRoUe0n0kyhHTt2KC8vT5K0Z88e7d69W7t375ZpmioqKtLOnTtVXFysnTt3as6cOZozZ46+//77oOe48sortWPHDuXn5+uQQw7RggULlJ+fr1NPPVX//Oc/lZ+fb/8cf/zx+ve//60dO3YEFar8du/erddeey1sDv6fcEW3A2X79u3as2ePdu3apeLiYvs1Bw8erDvvvFMOh0MzZsxQp06ddP755+vf//53tW36008/6aOPPtLIkSOD4l999ZUk2d+qF84tt9yiXr16qWfPnnbRs1u3bmrXrp2OOOIInXPOOTr55JP13nvvadGiRercubPatm0b9rluuOEGud1ulZaW2kXbW2+9VWvWrNG77777B9YSAACoLYpSAAA0QBUVFdqwYYMWLFig1q1bKycnR+PHj9e4ceOUk5Oje+65R8uXL5fH49GaNWvsD9/vvvuuZs+ereLiYr377rs69dRTJUlnn322du/erTvuuMN+jW+//VYTJkzQN998E3W/2rdvryOPPFJLly7VBRdcUGP7U089Va+88krEbz+TKmde+Xw+uzC0e/dueb3esLPAAmVmZtqXcCUmJur++++XZVn2jxR5Jtjw4cPVu3dvJScn6y9/+Yvat2+v9u3ba/fu3br99ts1ZcoU+zLK1atXa/Xq1Zo8eXLQcyQlJalVq1Zq3ry5CgoK1KlTJzVv3lyXX365br31Vt1xxx12ka2kpERt27ZVq1atqt3HyLIsZWdn6/HHHw/qf+jPgb68L9Ds2bM1duxYjR49WpZl6ZdffpFUff0NGDAg4v5y991366yzztKwYcPs2N69e/Xaa6/pxhtv1OzZs6vNqPN76623VFZWpj59+mj69Onas2ePVqxYIZfLZRe5xowZo1mzZunll1/WaaedFjGXu+++W71799bOnTt13333Saq8dPC6666LOFtvf0JvcA8AAKLH5XsAADRAv/76q4488sga23Xs2FFS5U2eDz/8cD3xxBM6/fTT1b9/f61atcq+TKply5a644477NlBPp9P99xzj5YsWaK//vWvWrZsmdq0aVPj6yUmJgZ9q180QmfOhCorK9OPP/5Y7b5T/kvqwlm1apVyc3PVr18/SVWXOkbr22+/lSTNnDlTl156qZo2baqff/5Zmzdv1qmnniqv16u2bdtGdQ+igoICFRcX2zN3LrroIrVp08Yu7EiVs7ESEhJUUlJS7dK1xYsXKy8vr9plmrH0wQcf6OKLL64WDy2EDRkyRH/729/0+OOPB91k/J133tF///vfat/meNtttyk1NVWPP/64fv75Z1144YWaN29e2GLh+++/ryVLlmjQoEGaN2+eXnjhBV1wwQV24XHUqFG6/fbb9fbbb2vFihVh8/j000/1/PPP6/vvv9fmzZs1fPhwDR8+XEcddZSeeOKJWq2TvLw8Pfjgg5o1a5Z+/vnnsG127NihFi1a1Pom9AAA/FkwUwoAgAYoLS1NBQUF8nq9uvnmm/Xiiy8GzZr529/+ptGjR8vr9aqoqEiHHXaYPvzwQ/3www+66667JFW/qfmtt96qhx56SFLlTcQfeughPf/887Isy77E6vf6I5eWTZo0STt27Kj2M2XKlIjLvPnmm0pJSVGvXr0kVd4va8qUKTIMw/6RpJKSkojP8corr+i2226zCylffvmlzj33XH333Xd6//33lZeXF/SNb5H475kUHx9vv/aQIUM0YcIE+/e1a9fq1FNPDfvNdU888YS6d+++3yJcbYtutfHrr79qyZIlNRYPS0pK1LJlSxUWFuqNN96w4xs3btSVV16pa6+9Nuhy0nvuuUdz587VSy+9JMMwNGvWLK1Zs0annXaacnNzqz3/2WefrUWLFik5OVljx47V66+/rk2bNmn+/PmSKm9s37RpU3k8HhUWFlZbfunSpbrooov08MMPKyMjQ+ecc47OOuus/V5iGqq0tFRFRUW688471b59e7355pt65JFH7PtqhXrsscfUrl077d27N+rXAADgz4Q/2wAA0IAEXqqVnJwsSerdu7cmTpyok08+WUcccYSkygKB/15MTZs2lVR5P6mLL77YnnHjcDi0a9cuLV261H4uqfL+QW+++aZOPPFEtW7dWqtWrfpdlzUFKisrk6SwN7+uSWJiYrUbsAcKLXj99ttveuKJJzRixAh7hsqCBQuqtdu1a5d27typr776Srt371aTJk3sx5YuXaqJEydqzpw5GjBggKTKb8375ptv9MQTT+inn37SOeecE1RE8nq9YW+S3bNnT+Xn50fs/8aNG5WRkaHs7Oxq6/mjjz7S22+/rRdffDHssitWrNDChQu1adMm+Xy+asv//PPPKikpkcfjCeqbf/bW6tWrqz2naZoqKytT9+7dFR8frxdffFH9+/fX4YcfbrcJXJemacqyLJ199tmKj4/X2LFjNXnyZJ133nlKTk62v43PX0TcuHGjJk6cqG+++UbvvPOO+vbtK0lq166d5s2bp6FDh6pPnz6aNm2aLrnkEjkclX9Ddblc6tWrlz788EOVlZXprbfe0ooVK/Tf//5XiYmJGj16tI4++midcMIJOuOMM/TOO+9o6NChkqSFCxfqL3/5i8aOHWt/S6AkPfnkk9X2yfLycm3evFmpqanV1s3ChQuVnZ2t7du3a9q0abr88ssVFxen0tJSSZX3xfJffllSUqLXX39dHTp0CNq3AABAAAsAADQYN9xwgzVixIhq8U2bNlmWZVl5eXlWenq65XK5rH/84x/7fa7169dbbdu2tSQF/bhcLuuEE06wNm/efMD6nZ2dbUmyFi5cWGPbNWvWRN322muvtQYMGGBJsr7++mvLsixr48aN1nHHHWetWLFiv8v+9ttvltPptJKTk63Bgwdb+fn59mP33nuvddttt1VbpqioyLr00kstj8cT9Px///vfrcTEROuUU06psc9+pmla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rl2r+++/X8OGDdOoUaO0efNmSZLT6dT48eP10Ucf6YorrtC333570DsNAAAAAACAhi3qb99r3bq1/va3v2nDhg1KS0tTZmamfD6f/fhRRx2lxx9/XBdddJH27NlzUDoLAAAAAACAxiHqopQk/fjjjxo2bJgmT56sM888U8ccc4yuueYa+35Sl156qfr166dt27YdlM4CAAAAAACgcYi6KDVr1iwNGjRIgwYNUmJiogzD0Ouvv66ioiJ1795ds2bNkmmaev/999W5c+eD2WcAAAAAAAA0cFEVpVatWqWpU6dq3rx5mjJlitxutySpS5cumjt3rj755BP961//Up8+fbR+/fqD2mEAAAAAAAA0fDV++54kde/eXevWrZPH4wn7eL9+/fTdd9/pqaeeUocOHQ5oBwEAAAAAAND4RH35XqSClF98fLyuueYaGYbxhzsFAAAAAACAxi2qotTevXurxYYMGRL0+5YtW3TGGWfon//854HpGQAAAAAAABqtqIpSgwcP1rBhw7Rw4UI7tnHjRknS8uXLdf3116tHjx7q2rWrJkyYcHB6CgAAAAAAgEYjqntKffXVV3rrrbd0++23y7IszZ07V7/99ptat26tQw89VKeffrquu+46XXbZZUpMTDzYfQYAAAAAAEADF1VRyjAMXXLJJbrkkkv05Zdf6tBDD1VqaqqWLVumpk2bSpJmzpypYcOG6X//+59atGhxUDsNAAAAAACAhq3GotSvv/6qtLQ0xcfHS5Isy5IkVVRUqE2bNnY7y7JUVlamSy+9VB9++OFB6i4AAAAAAAAagxqLUocddph8Pl/Qt+pZlqVOnTppw4YNQW137dql0tLSA99LAAAAAAAANCpRXb7XqVMne6ZUWVmZ1q9fr0WLFumWW27R3r175XBU3i89Li5O48aN02GHHXbwegwAAAAAAIAGL6pv3ysrK9N//vMfvfvuuyovL5ckHXLIIXrvvfd03HHH6dhjj9Wxxx6rTZs26a677jqoHQYAAAAAAEDDV+NMqYqKCvl8PnXt2lWS5HQ61aFDByUlJem3337T2LFj7bbJyclavHjxwestAAAAAAAAGoUai1JOp1NPPvmkKioq5Ha7tWjRIpWVlWnv3r3Kz88Pajt8+HANHz78oHUWAAAAAAAAjUONl+85HA699957evLJJyVVzpyaOHGiOnXqpPT0dB16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+2xZlhVQdLmturpal1xySeJ2aWmpJkyYoP79+2vLli0699xzdeONN+o3v/lNgFHmrvXr1+u1117TSy+9pNGjR2vw4MG68cYbdfXVV6uwsFCSOCPtCOzcuVMnnHBC4vapp54qy7I0YMAASa31Yc+ePQFFl9tWrFihmTNn6p577tGECRPUrVu3lPr6pS99STt27AgwwtzHewjvkFvvkNvOwzIcOQCes21bjY2N6t69uzZu3KhJkyZp7969mjlzpoYOHar7779fH374od56662gQ805V111lbp166Y777xTLS0tuvbaa/Xhhx/qoosu0q233qq33npLN910k7Zt26aSkpKgw80p3/3ud9XY2Khly5bp6quvToxblqU33nhD77//vi666CJVVVUFGGVumjlzpp5//nndf//9Ovvss/Xpp59q2rRpikQiqqqqUigUUklJiWKxWNCh5pxTTjlF06dPT3z8MRqNaty4cbr11ls1fvx4bdmyRTNmzOAj08dANBrVP//5Tz3wwAN64403NGPGDE2ePFn9+vVj7nbQyJEj1bNnTz377LMqLi7WT37yE/3lL3/R6NGjNW3aND3yyCPatGmTXnzxxaBDzVnPPfecfvSjH+m9997T7Nmzde211yoWi2nWrFnq1auXFi1aFHSIAPC5RFMKklr/qslf5b3jOI5CoZC6d+8uqfVA/uGHH040o0aMGKH58+fr1FNPDTjS3LNnzx5NnjxZK1asUCwW04QJE/Twww/r5ptv1tNPP62ysjLddddduuKKK4IONec89thj2r17t+644w7dd999Wdf7zne+42NUXUNTU5OmT5+uRx99VNFoVLZta9y4cfrTn/6kfv36ad++fRoxYoQ++OCDoEPNOc8//7yuvPJKlZeXq3///qqurlbPnj316quvJs5OxbG3detWzZ07V88884w+++wzmlIdVF1drcsvv1w7d+5UUVGRBg8erKqqKs2aNUv/+Mc/NHjwYC1cuFADBw4MOtScZozRE088od///vd68803JUljxozRM888o969ewccXW6LRqN6+eWX9eabb6q2tlaRSETFxcUqLy/XN7/5TRUUFAQdIpBi2bJluvDCC9WtW7eMZcuXL9ewYcM0aNCgACL7/KEpBUUiEV144YWaN28eH2/ygDFG27Zt08knnxx0KF1OcjN17969isViKi4uDjiq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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import akshare as ak\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import datetime\n",
    "import numpy as np\n",
    "\n",
    "# ========== 参数设置 ==========\n",
    "symbol = \"博思\"\n",
    "year_spans = [2, 3, 5, 8, 10, 13]\n",
    "\n",
    "# ========== 获取数据 ==========\n",
    "today = datetime.datetime.today()\n",
    "full_start_date = (today - pd.DateOffset(years=max(year_spans))).strftime('%Y%m%d')\n",
    "end_date = today.strftime('%Y%m%d')\n",
    "\n",
    "\n",
    "df = ak.stock_zh_a_daily(symbol=\"sz300525\", start_date=full_start_date, end_date=end_date, adjust=\"qfq\")\n",
    "df['date'] = pd.to_datetime(df['date'])  # 用英文字段\n",
    "df = df[['date', 'open', 'close']]  # 保留必要字段\n",
    "df = df.sort_values(\"date\")\n",
    "\n",
    "# ========== 初始化图表数据容器 ==========\n",
    "bar_data = {}  # key: N_YEARS, value: 月份 -> 上涨次数\n",
    "\n",
    "# ========== 各周期上涨统计 ==========\n",
    "for N_YEARS in year_spans:\n",
    "    start_cut = today - pd.DateOffset(years=N_YEARS)\n",
    "    df_cut = df[df[\"date\"] >= start_cut].copy()\n",
    "\n",
    "    # 每月开盘与收盘\n",
    "    monthly_df = df_cut.groupby(df_cut[\"date\"].dt.to_period(\"M\")).agg({\n",
    "        \"open\": \"first\",\n",
    "        \"close\": \"last\"\n",
    "    }).reset_index()\n",
    "\n",
    "    monthly_df[\"month\"] = monthly_df[\"date\"].dt.month\n",
    "    monthly_df[\"up\"] = monthly_df[\"close\"] > monthly_df[\"open\"]\n",
    "\n",
    "    up_counts = monthly_df.groupby(\"month\")[\"up\"].sum()\n",
    "    total_counts = monthly_df.groupby(\"month\")[\"up\"].count()\n",
    "\n",
    "    total_up_count = up_counts.sum()\n",
    "    total_months = len(monthly_df)\n",
    "    overall_up_probability = total_up_count / total_months if total_months else 0\n",
    "\n",
    "    print(f\"最近 {N_YEARS} 年上涨月数/总月数：{total_up_count}/{total_months} | 概率：{overall_up_probability:.2%}\")\n",
    "\n",
    "    # 保存当前周期上涨次数\n",
    "    bar_data[N_YEARS] = up_counts\n",
    "\n",
    "# ========== 合并图表：分组柱状图 ==========\n",
    "plt.figure(figsize=(12, 6))\n",
    "\n",
    "bar_width = 0.12\n",
    "months = np.arange(1, 13)\n",
    "offsets = np.linspace(-bar_width * len(year_spans) / 2, bar_width * len(year_spans) / 2, len(year_spans))\n",
    "\n",
    "for i, N_YEARS in enumerate(year_spans):\n",
    "    counts = bar_data.get(N_YEARS, pd.Series(0, index=range(1, 13)))\n",
    "    counts = counts.reindex(range(1, 13), fill_value=0)\n",
    "    plt.bar(months + offsets[i], counts.values, width=bar_width, label=f\"{N_YEARS}年\")\n",
    "\n",
    "plt.xticks(months, [f\"{m}月\" for m in months], rotation=-90)\n",
    "plt.xlabel(\"月份\")\n",
    "plt.ylabel(\"上涨次数\")\n",
    "plt.title(f\"{symbol} 不同周期每月上涨次数对比\")\n",
    "plt.legend(title=\"周期\")\n",
    "plt.grid(axis='y', linestyle='--', alpha=0.6)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
